package com.foreverwin.jzymes.common.mapper;

import com.foreverwin.jzymes.common.domain.NcData;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface NcDataAdviceMapper {

    /**
     * 查询本体未关闭的不良记录
     * Disposition（REWORK,NULL）
     *
     * @param site
     * @param carrier
     * @param fromDate
     * @return
     */
    public List<NcData> selectOpenNcDataFromDate(@Param("site") String site, @Param("carrier") String carrier, @Param("fromDate") Date fromDate );

    /**
     * 查询本体物料打开不良信息
     *
     * @param site
     * @param carrier
     * @param itemBo
     * @param fromDate
     * @return
     */
    public NcData selectItemOpenNcDataFromDate( @Param("site") String site, @Param("carrier") String carrier, @Param("itemBo") String itemBo, @Param("fromDate") Date fromDate );

    /**
     * 查询本体物料在工序不良信息
     *
     * @param site
     * @param carrier
     * @param itemBo
     * @param operation
     * @param fromDate
     * @return
     */
    public NcData selectCarrierNcDataFromDate( @Param("site") String site, @Param("carrier") String carrier, @Param("itemBo") String itemBo, @Param("operation") String operation, @Param("fromDate") Date fromDate );


    /**
     * 查询工令在工序报废数量
     *
     * @param site
     * @param sfc
     * @param operation
     * @return
     */
    public Long selectSfcScrapQtyOnOperation( @Param("site") String site, @Param("sfc") String sfc, @Param("operation") String operation );

    /**
     * 查询工令在工序处置方式非合格的数量
     *
     * @param site
     * @param sfc
     * @param operation
     * @return
     */
    public Long selectSfcNGQtyOnOperation( @Param("site") String site, @Param("sfc") String sfc, @Param("operation") String operation );

    /**
     * 查询不良记录报表
     *
     * @param site
     * @param itemBo
     * @param resrce
     * @param ncCode
     * @param startDate
     * @param endDate
     * @return
     */
    public List<NcData> selectNcDataByReport(@Param("site") String site, @Param("itemBo") String itemBo, @Param("resrce") String resrce, @Param("ncCode") String ncCode,@Param("startDate") Date startDate,@Param("endDate")Date endDate);

    /**
     * 查询不良记录
     *
     * @param paramMap
     * @return
     */
    public List<NcData> selectNcDataList( Map<String,Object> paramMap );

}
